Logging is employed within virtually all data networks. “Logging” refers generally to recording network-related and/or application-related information in response to one or more predefined network/application events. For example, when an end-user opens a TCP connection to a server, or unsuccessfully attempts to gain access to network resources (e.g., by attempting to log in to a particular server), this information is typically recorded as an entry within a log file. Similarly, if a variable within an application rises above a specified threshold value, a log entry indicating the value and the date and time that the threshold value was exceeded may be stored within a log file. Logging techniques may be employed to record any specified network/application event. Network administrators may then review the log files to identify security issues and/or troubleshoot network problems.
Java 2 Enterprise Edition (J2EE) is a tool commonly used in software development today for developing enterprise applications. Generally, J2EE reduces the costs and complexity associated with developing multi-tier enterprise services. Another advantage of J2EE is that it can be relatively rapidly deployed and enhanced as the need arises. J2EE is currently used in many large-scale application development projects for these reasons.
As application development projects grow larger, logging becomes increasingly more important and complicated. Logging can be a very useful debugging tool to isolate problems, for example, by tracking each stage of the application being evaluated. Typically, logging is configured via a logging configuration file. The logging configuration file typically shared by multiple components being deployed. As enterprise applications increase in size and scope, the logging configuration file becomes more complicated and difficult to manage, resulting in a lack of scalability when deploying large numbers of application components.